import { Injectable } from '@angular/core';
import { HttpClientService } from 'app/services/http-client.service';
import { Http } from '@angular/http';
import * as moment from 'moment';

@Injectable()
export class NotRunningService {

    constructor(
        public httpClient: HttpClientService,
        public http: Http
    ) { }
    //查询分页列表
    list(getBody) {
        return this.httpClient.post('/pms/v1/pension/basicInfo/pensionList', getBody);
    }
    //删除组合
    del(putBody) {
        return this.httpClient.put('/pms/v1/pension/basicInfo/deletePension/', putBody);
    }
    // 查询单个组合基础信息
    GetSingleProduct(nFundNo) {
        return this.httpClient.get('/pms/v1/pension/basicInfo/pensionBasic/' + nFundNo);
    }
    //组合审核
    prodAuditing(putBody) {
        return this.httpClient.put('/pms/v1/pension/basicInfo/productAndStartAudit', putBody);
        // return this.httpClient.put(`/pms/v1/pension/basicInfo/productAndStartAudit?nFundNoList=${putBody.nFundNoList}&auditType=${putBody.auditType}&auditStatus=${putBody.auditStatus}&sFundCode=${putBody.sFundCode}&sFullName=${putBody.sFullName}&sFundType=${putBody.sFundType}`);
    }
    // 开始运作
    startProduct(putBody) {
        return this.httpClient.put('/pms/v1/pension/basicInfo/startProduct', putBody);
    }
    //新增组合
    addProduct(putBody) {
        return this.httpClient.put('/pms/v1/pension/basicInfo/insertPension', putBody);
    }
    // 投资经理
    getManagerList() {
        return this.httpClient.get('/pms/v1/common/manager/getProjectManager');
    }
    //项目经理
    getProjectManagerList() {
        return this.httpClient.get('/pms/v1/common/manager/getInstitutions');
    }
    // 养老金部列表导出,postUrl为请求地址,postBody为请求体,operate为导出文件名
    exportTarget(postUrl, postBody, operate) {
        let today = moment().format('YYYY-MM-DD');
        this.http.post(postUrl, postBody, { responseType: 3 }).map(res => res.json()).subscribe(res => {
            // let blob = new Blob([res], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" });
            // let blob = new Blob([res], { type: "application/vnd.ms-excel" });
            let blob = new Blob([res], { type: "application/msexcel;charset=UTF-8" });
            if (window.navigator.msSaveOrOpenBlob) {
                navigator.msSaveBlob(blob, operate + today + '.xls');
            } else {
                let resUrl = URL.createObjectURL(blob);
                let a = document.createElement('a');
                document.body.appendChild(a);
                a.setAttribute('style', 'display:none');
                a.setAttribute('href', resUrl);
                a.setAttribute('download', operate + today + '.xls');
                a.click();
                // document.body.removeChild(a);
                // 释放url
                URL.revokeObjectURL(resUrl);
            }
        })
    }
    // 获取备案机构、受托人、托管人下拉框值
    getDictionary() {
        return this.httpClient.get('/pms/v1/common/dict/getStrustee?sFundType=7');
    }
}
